home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1999 March
/
EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso
/
earcd
/
devel
/
msql-2.0.7-1
/
doc
/
history
next >
Wrap
Text File
|
1999-01-01
|
28KB
|
730 lines
15 February 1999 2.0.7
-------------------------
mSQL
====
o Fixed ansi-only line continuation in msqlimport
o Fixed use of APIENTRY macro for client sources (i.e. code
not using the mSQL portability code.
o Added inclusion of time.h to msql.h for time_t prototypes
o Added cast to (char *) for packet buffer accesses to stop
HP-UX from complaining about the u_char buffer in string
handling calls.
o Removed SHELL=SH from top level Makefile
o Fixed core dump if a value too large for the target field is
inserted into a table in which the target field is used as
part of a unique index.
o The server now refuses STATS requests received from remote
machines. This is in response to a security concern raised
by KSR[T] (www.ksrt.org) as some of the information provided
could be used in remote attacks on the server.
o Modified money handling to introduce a "fake" 3rd digit of
precision to overcome real number rounding errors in the
standard C library routines.
o Fixed AVL tree code to use a much more compact node size
Thanks to Gabor Ligeti <gligeti@appaloosacorp.com>.
o Fixed internal value 'datalen' settings for CHAR literal types.
o Added config handling for Query_Log and Query_Log_File.
o Added backend support for query logging.
o Changed centry handling in date fields to not use the %C
format element of strftime as it appears not to be supported
properly by all OS's
o Added stdlib.h to syserr testing
o Rolled in Yuri's latest OS/2 mods to handle CRLF text files
int Lite and w3-mSQL (Yuri Dario <mc6530@mclink.it>)
Lite / W3-mSQL
==============
o Added createVariable(name,value) to mod_std for dynamic variable
creation.
o Modified w3-msql's arg parser to accept variable that include
a '.' character via a POST or GET (for image maps etc.) The
variable name is re-written so that $image.x becomes
$image_dot_x
o Added addHttpHeader(HeaderLine) to mod_std for w3-msql to allow
the setting of custom headers in the HTTP Header block
Misc
====
o Write demo lite script for reading a query log file. The
script is called misc/parse_query_log
o Added NEW_FEATURES file to the doc/ directory that explains
any new features added in the current release.
15 January 1999 2.0.6
-------------------------
mSQL
====
o Incorporated modified msqlimport from Georg Horn.
o Added multiplatform make support to makegen for OS2 and Win32
o Added multiplatform library handling to makegen for DLL's
o Incorporated OS/2 specific modifications from Yuri Dario
<mc6530@mclink.it> added the required multi-platform support
for portability
o Rewrote handling of money type to avoid any use of libc based
numeric handling functions
o Fixed core dump on invalid field type test in sort code
(sorting on a TEXT field for example).
o Moved to using strtoul() for conversion of UINT field types
to ensure the values are not truncated to MAX_INT by atoi()
on some platforms.
o Added config testing for strtoul() and an implementation of
it for those systems that are lacking.
o Fixed possible DB name buffer overflow to satisfy the Brazilian
"Sekure SDI" group's advisary. Other elements of the advisary
have been intentionally ignored and reimplemented due to
unportable programming constructs used by this "security group"
o Rewrote the msqlDebug() handling to satisfy the totally paranoid.
o Added runtime stats to "msqladmin stats"
o Fixed handling of non-text type array elements being passed to
user defined functions
Lite / W3-mSQL
==============
o Rewrote autoconversion during checking of parameters for
types like INT/UINT
o Patched the LVM to allow a scalar variable to be automatically
cast to an array if a value is assigned to a dereferenced element
(another Georg Horn patch)
o Added NULL test to HTUnEscape
o Added setup test for Linux so that -rdynamic can be included
in the link flags for dynamic module loading
o Fixed obscure bug if a variable was cast to an array from a
scalar and there are other variables in the symbol table that
are hashed to the same bucket of the symtab hash table.
o Fixed problem if an empty string is passed to W3-mSQL as the
QUERY_STRING env variable from a GET operation.
1 December 1998 2.0.5
-------------------------
mSQL
====
o Fixed sorting problem
o Added test for number of args to msync() for BSDI and others
o Added extern declaration for snprintf to msqldb.c
o Added API library initialisation tests to ensure the packet
buffer is not a NULL pointer (avoiding core dumps)
o Added tests on the socket passed to the API calls with
failures if it's pointing to a tty (i.e. fd 0 due to a
uninitialised variable be used as the sock)
o Fixed core-dump problem in the new CRA code's
msqlReorderTableList() if a condinition element is a sub-cond
o Fixed problem with updating the index field value when that
index was used as the update condition
o Fixed bad logic handling in multi-contidion where clauses
o Fixed bogus creation of index files if the bulk creation
failed (such as finding a NULL during the creation)
o Fixed SIGPIPE handling causing previously msqlClosed sockets
to be "re-closed" when they are no long associated with an
mSQL connection
o Fixed potential core dump in CRA code when handling
sub-conditions (sub-conditions leave a NULL value in the
condition expression list)
o Fixed file path problem in sort code for installations that
redefine the installation directory after compile time via
the config file
o Fixed double free (and possible core dump) when unknown field
names are used as the rvalue of an ident to ident condition
o Fixed "summer time" problem in msqlDateToUnixTime() and
msqlTimeToUnixTime() where an un-zeroed struct was forcing
daylight saving calculations to be performed.
o Possible security problem as outlined on BugTraq where a badly
formatted handshake packet is sent to the server has been
fixed.
o Added check and fix for HP-UX ranlib to the library build
code
o Extended the database and table name lengths in relshow
o Added dirty map tracking for use by the mmap syncher
Lite / W3-mSQL
==============
o Fixed param type checking for module function calls
o Fixed potential core dumps when undeclared symbols are
referenced and printed.
o Fixed potential core dump when displaying error messages on
platforms without zero filled malloc blocks
o Changed the semantics of precision handling in %f formats
in printf() to round rather than truncate to the specified
precision (as per the standard C implementations).
1 June 1998 2.0.4.1
-------------------------
mSQL
====
o Fixed problem with new Remote_Access option not setting IPsock
to -1 (so the server was selecting on stdin due to IPsock
defaulting to 0)
Lite / W3-mSQL
==============
o Fixed variable initialisaton for data passed through GET or
POST
o Re-applied Jeff Staege's patch for multi-part form data
29 May 1998 2.0.4
-------------------------
mSQL
====
o Added query optimisation for single entity sub-conditions to
unfold them into the main condition for inclusion in the
optimsation loop.
o Enhanced optimiser to determine the optimum order in which
multiple tables within a join should be processed based on
the frequency of comparisons between the tables. This
overcomes many problems associated with slow processing of
badly written queries.
o Optimised temporary table creation for added performance in
joins, ordering and distincting.
o Added in-core AVL Tree support
o Added fast AVL Tree based sorting
o Added fast AVL Tree based distinct processing
o Optimised packet formation to increase the performance of the
API library
o Fixed potential connection leak for failed connection attempts
o Fixed null-termination problem for hostname lookups on Linux (core)
o Fixed field wildcarding in joins
o Fixed obscure problem where joining using table aliases,
conditions on the same fieldname from different tables and an
index on the inner join loop produced incorrect results
o Fixed problem with NULL handling in packetization of result
data when sending to the client
o Fixed rounding errors in the MONEY type caused by various
standard C library routines
o Reverted to original map region syncer avoiding sync() if the
system has msync()
o Forced an msync() prior to all munmaps() as some systems
appear not to force a sync while unmapping
o Standardised NULL representation in data file to simplify
row processing
o Modularised code for better co-existance with the "research"
code branch
o Better support for setuid versions of the backend
o Fixed mis-handling of certain conditions in msqlDateOffset
o Added prototypes for remaining date / time API functions
o Fixed host lookup mismatch in client check
o Changed unknown config entries to a warning rather than a
fatal error.
o Added configuration entry for Local_Access (i.e. UNIX domain
access) to config handler and server startup code.
o Added configuration entry for Remote_Access (i.e. TCP/IP
access) to config handler and server startup code.
o Fixed problem with re-rentrant calls to gethost* routines
when accepting new connections.
o Fixed possible core dump when accepting a remote connection
from a client that has a reverse nameserver entry but does
not have a forward entry
o Further linting and prototyping
o Added read timeout code to stop denial of service attacks
against the server.
o Fixed core dump when invalid system var names are passed
through to createTmpTable() during a join, sort, or distinct.
Lite / W3-mSQL
==============
o Fixed memory leak in regex handling
o Fixed limitation on amount of data being passed into a
W3-mSQL page from a POST or a GET
o Added bindings to msqlLoadConfigFile() to the mSQL module
o Added expandText() to the standard module so that text with
embedded variables can be loaded from a file and "evaluated"
using the current value of the variables.
o Adding missinget </CENTER> tag from footer output
o Fixed code generation for "complex" math expressions so that
expressions like 2 - 1 - 1 + (int)"10" - (2 * 2 + (int)"1")
work from left to right rather than right to left
o Added support for the money type to the lite VM
o Added O_BINARY to opens for OS/2
o Rolled in Jeff Staege's patch for multi-part form data
o Fixed handling of NULL mSQL field values in the array return
by msqlFetchRow()
7 Oct 1997 2.0.3
-------------------------
mSQL
====
o Fixed cpp problem on build (compilation failed on some systems)
o Fixed infinite loop problem when updating an index value using
the index as the condition
o Fixed core dump when using a sub condition in conjunction with
and index for row selection
o Replaced hard coded make with $(MAKE) in makegen macros
Lite / W3-mSQL
==============
o Fixed several queries in msql-auth that did not include the
namespace to which they applied.
22 Sep 1997 2.0.2
-------------------------
mSQL
====
o Rolled in Bob Sum's patches
o Fixed translation of missing numerci values to NULL in msqlimport
o Fixed floating point rounding problems with money values
o Fixed denial of service attack problem with malformed protocols
o Fixed core dump if overflow buffers of a TEXT field extend
beyond the mapped region during an update
o Fixed core dump when query string is longer than the debug buffer
o Fixed SNI security concerns regarding buffer overflows
o Added forward name lookup testing of hostnames during ACL checks
o Fixed handling of reals, money and time in DISTINCT queries
o Fixed server memory leak in certain mmap errors
o Fixed memory leak in API library for empty selects
o Fixed problems with updating and index where the index is in
use by the update query (i.e. in the where clause)
o Changed the memory syncher to force a remap rather than using
msync as Linux appears to not sync the mapped regions.
o Fixed an mmap region leak
o Fixed problem where connection could be reached due to errors
causing session to abort
o Fixed problem with TCP Port number in bcmp during host_lookup
(when host_lookup = false). Thanks for the note Dirk.
# Code branch for experimental development
Jun 1997 2.0.1
-------------------------
mSQL
====
o Modified select loop range handling to avoid potential
infinite loop searching for active sockets
o Forced a mode of 0777 on the UNIX socket just in case
o Rolled in completed Win32 portability
o Fixed comparison of negative time/date values
o Fixed matching of null values to 0
o Fixed handling of null values in conditions other than
equals and not-equals
o Fixed value overwriting when updating the value of a TEXT
field that was originally set to NULL
o Fixed integrity of the overflow buffer on deletion of table
Rows containing NULL text fields.
o Fixed non-unique index error when updating a row using the
index for row selection
o Fixed wierd "field cannot be null" errors when inserting valid
data into not-null fields.
o Fixed CHAR and TEXT comparison problem where the in-table
value fills the entire field width and the literal value
is longer than the field width (sub string match problem).
o Fixed generation of values for _sysdate and _systime
o Fixed handling of system variable like _systime for queries
on empty tables
o Fixed problem in msqlDateOffset()
o Rolled in Bob Sum's *LIKE fixes. Some of the NULL handling
code replaces the above mentioned NULL fixes.
Lite / W3-mSQL
==============
o Fixed definitions of HAVE_DYNAMIC
o Added performance optimisations
o Fixed strseg() handling of strings shorter than the specified
substring.
Misc
====
o Updated doco for 2.0.1
o RTF version of documentation replaced by HTML. The
translation is still very rough and the PostScript version
should be used where possible.
o Added testing for sys/timeb.h to the configure script
8 Jun 1997 2.0 Release
-------------------------
mSQL
====
o Fixed minor read overflow in AVL tree initialisation
o Further optimised index selection during candidate setup
o Fixed memory leak in sub-condition handling
o Fixed bug in handling of reversed ident conds in inner loop
condition when using an index for the inner loop of a join
o Fixed unique index handling problem
o Fixed bug in comparison with some system variables
o Fixed pre/post increment problem of sequences during query
execution
o Fixed handling of TIME and DATE fields in msqldump
o Fixed core dump where and index fields is compared to an IDENT
values who's value is NULL during a join.
o Fixed core dump in certain situations if the value passed to
an index based condition is longer than the field length.
o Fixed bug in the sorting of real values
o Fixed obscure bug in resetting an index value to the same value
if that index was used for the lookup and the index node
contained duplicate values
o Optimised index updates so that indices are only modified if
the value has actually changed
o Made cache invalidation consistent
o Added "copy" and "move" to msqladmin
o Added section based name spaces to the config routines
o Added further configuration output to "msqladmin version"
o Rewrote msqlimport from scratch
o Added date / time format routines to the API library
Lite / W3-mSQL
==============
o Added .shtml as a valid HTML suffix for W3-mSQL processed files.
o Added @variable for accessing global symbols from a local
namespace (e.g. using globals from within a function)
o Fixed core dump when adding an empty function to a lite library
o Fixed double contraction of \\ escapes
8 May 1997 2.0 Beta 7
----------------------
mSQL
====
o Added test for "make target" before performing a build
o Fixed unique index handling if updating the index value with
itself
o Fixed access control for UPDATE queries
o Fixed core dump if _rowid > numRows given in a select
o Fixed problem with incorrect precision in update of real fields
o Forced debug initialisation messages to stderr
Lite / W3-mSQL
==============
o Fixed handling of multi-value web form data (i.e. multi-select
lists) during the casting of the values to an array.
o Upgraded limits in W3-mSQL passed variable lengths
o Fixed initialisation of symbol table prior to checking W3-Auth
based access control
11 April 1997 2.0 Beta 6
-------------------------
mSQL
====
o fixed rand() srand() portability macros
o added strptime check to autoconf script
o added strptime function to lib mSQL if needed
o completed Win32 porting of client API and client apps
o completed Win32 porting of server although indexing still
needs some debugging.
o fixed per field cache pointer during tmp table creation (core
dump when ordering the result of a join with a TEXT field)
o fixed handling of 8 bit char sets in regexp matching
o fixed ident handling in joins (particularly in self joins)
when multiple idents used in the comparison clause
o fixed timestamp bug where timestamps were reset in a condition
o fixed NOT NULL testing for NULL fields
o fixed NOT NULL testing for NULL indices
o fixed resetting overflow table mapping length to 0 when
dropping a table cache entry in loadTableDef()
o fixed potential leak of mapped region in initTable()
o updated client library to use MSQL_DEBUG not MINERVA_DEBUG
o updated libmsql to use stderr for debugging
o added short-circuits for condition testing (i.e. bail as soon
as we can tell the result of and AND or an OR etc)
o fixed leak of overflow buffers when deleting rows containing
TEXT fields
o added soundex based matching using the SLIKE operator
o fixed handling on blank date fields (ie. '')
o fixed LIMIT handling
Lite / W3-mSQL
==============
o More performance upgrades
- Symbol names no-longer malloced
- Symbol values < 10 bytes long no longer malloced
- Results show 300% performance increase in virtual
machine operating speed
o Fixed string length mis-match between locally created and
passed variable values (e.g. html form data etc)
o Forced flushing of output after an echo() as a call to
system() following a non-flushed echo() could cause the
output order to skew
20 March 1997 2.0 Beta 5
--------------------------
mSQL
====
o Rewrote regression test suite to obtain better code coverage
o Added real value precision handling to solve real number
rounding errors. The desired precision is now stored with
the value in the database table.
o Added code to translate system variables (eg _rowid) into
"real" table fields during creation of a result table. This
allows the sysvar value from the original table to be carried
through a DISTINCT or an ORDER rather than it being incorrectly
generated from the result table.
o Added ability to order a result on the value of a system
variable
o Added more system diagnostics for low-level errors
o Added more file ownership testing (for those that chown the
data file and don't get it correct)
o Added /dev/tty test in makegen macros. I though expecting
/dev/tty to exists was fair but apparantly not so on IRIX
5.3.
o Added README.sco for build details on SCO
o Added msqlGetSequenceInfo() to API and server
o Added support for showing sequence structure to relshow
o Added support for dumping current sequence status to msqldump
o Added support for UINT data type
o Added support for DATE data type
o Added support for TIME data type
o Added support for MONEY data type
o Added mmap region syncing for data files, overflow files and
the mapped regions of the AVL index files. Frequency of sync's
is configured in msql.conf.
o Added support for sequences in relshow (sequence creation at
the current sequence value)
o Added msqlGetSequenceInfo() API function
o Added _systime system variable
o Added mSQL time and date functions to the API library. These
allow for conversion from the text representations used by
mSQL into a valid UNIX time_t value.
o _sysdate system variable now returns a date type value of the
current data on the server machine (not the UNIX time value
as previously returned)
o Rows are now padded to an 8 byte boundary for memory alignment
reasons (mmap() access to the row headers structures on Alpha)
o Row header timestamp now time_t rather than int for machines
that use long time values (e.g. the Alpha)
o Fixed memory leak in yyprev symbol handling
o Fixed wild free in lexer symbol handling (core dump)
o Fixed timestamp overwrite problem for the Alpha
o Fixed relshow core dump for invalid index name
o Fixed core dump in AVL code when accessing an unaligned real
(i.e. a double) value in the tree node
o Fixed bad handling of numeric index types by moving the field
value auto-casting earlier in the control flow
o Fixed AVL Lookup problem for indices comprised of real values
o Fixed compound index handling bug (key could be incorrectly
formatted on lookup resulting in no results).
o Fixed problem with ident comparisons on single table selects
o Fixed problem with ident to sysvar comparisons on single table
selects (e.g. select * from foo where f1 = _rowid)
o Fixed wild free problem for ident values in join code (core dump)
o Fixed memory over-read on some TEXT field operations
o Fixed data hole free list handling
o Fixed multiple increment of sequence value (i.e. select _seq
from foo would increment the seq for each row)
o Fixed multiple increment of seq in conditions (i.e.
"select _seq from foo where id > _seq" would increment
the sequence twice (once for each call to getSysVar() )
o Fixed handling of system variables in join results
o Fixed 8 byte alignment problems in the AVL tree code. The
entire server is now 64bit clean and passes the
new regression test on an Alpha under OSF/1
Lite / W3-mSQL
==============
o Rewrote all symbol table handling code to use a 64 way
hash table for symbol lookups. Also added a short-cut for
symbol searches. General performance increase in every aspect
of the language results from this modification.
o Added support for non-local authentication databases via the
msql.conf file.
o Added support for HTML comments and other non-Lite tags that
start with <!
o Adding hooks for the mSQL time and date routines to mod_std
o Added getTzOffset() to mod_std for hacking time values
o Added toksplit() to mod_std
o Added literal symbol re-use code
o Fixed auto-casting problems with the new uint type
o Fixed auto-base-conversion (i.e. octal & hex). Conversions
now only performed on literals, not on variables during a cast
or an auto-cast
o Fixed off-by-one error in count operator for text strings
o Fixed regression test results to reflect the current test
output
o Fixed space handling in urlEncode()
o Fixed problem with string truncation in sub()
o Fixed problem with handling some C styled comments
o Fixed core dump when trying to cast an array to a scalar type
o Fixed off by one error in array literal element length
o Fixed handling of array indexing in text expansion (e.g.
in echo() strings) when array indexed by a variable value
o Fixed auto casting for int and uint in printf formats
Misc
====
o Fixed a couple of bugs in the time library for date/time handling
o Added errno.h to the headers searched in setup when looking for
sys_errlist (for NetBSD 1.2)
o Added stdlib.h to the headers searched in setup when looking for
ssize_t (for Irix 6.2)
o Started total re-working of the documentation kit.
o Code has been "linted" within and inch of its life (using
gcc -Wall)
1 February 1997 2.0 Beta 4
-----------------------------------
Lite / W3-mSQL
==============
o Added support for Multi-Select form data to W3-mSQL
o Added typeof() function to Lite standard module
o Fixed bug in expandText() handling mis-defined symbols
o Added work-around for the gnu getopt() library
o Added work-around for the gnu atoi() function
o Added 'uint' type handling and "%u" to printf()
o Fixed problem with fuction call arg count on some machines
o Fixed last character match problem in tr()
o Fixed a few doco bugs in the mSQL module doc's
o Fixed up type checking during a cast
o Fixed a problem if the first element of an array is not a CHAR val
o Fixed urlEncode problem for the + character
mSQL
====
o Fixed token destruction in error reporting from the parser
o Fixed documentation example for sequence creation
o Fixed core dump in mSQL monitor on overly large error results
o Fixed inaccurate initialisation of ident segments in msqlCreateIdent
o Added support for MSQL_CONF_FILE environment variable
o Fixed looping problem in wild-card delete
o Fixed some _more_ doco bugs
o Fixed problem with comparison of TEXT fields with NULL
o Fixed problem with the matchVarChar() function when comparing
values with TEXT fields
o Fixed bug in LIKE and CLIKE for matching multiple % wildcards
to an empty string
o Fixed a possible problem with the static size of the connection
array
14 January 1997 2.0 Beta 3
-----------------------------------
o Fixed bugs in table join logic
o Fixed bug that allowed an update to set a non-unique value
for a unique index
o Completed dynamic loading of module object code in Lite / W3-mSQL
o Fixed some documentation errors in the HTML manual
o Fixed non-flushed output in user prompts from msqladmin and msql
o Fixed problem with fields being inserted with the NULL flag set
o Added a 0 exit val to msqldump
o Fixed some API function prototypes
o Added strdup() to the malloc test code (although we don't
use the malloc library anymore for in-house code testing)
o Fixed memory leaks in parser, msqlServerDelete, QUIT processing,
join condition lists, and join ident fields.
o Wrote the mod_graph dynamic loaded graphing module for Lite &
W3-mSQL.
o Added optional W3-auth security. The file .w3-auth must now
be created in the directory containing the requested file to
enable W3-auth access control.
6 January 1997 2.0 Beta 2
-----------------------------------
o Fixed problem with deletion using an index for row selection
(reshuffle of dup values in tree node caused getNext to skip
a valid entry)
o Fixed bug in bulk index creation where it was including
non-active rows in the newly created index.
o Added strncasecmp() for SVR4 people (so they can dodge the BSD lib)
o Fixed bug in the AVL node swapping code wrt dup node lists.
o Fixed core dump bug when DISTINCT used with an empty result
table.
o Fixed bug in the updating of CHAR fields.
o Increased listen queue for UNIX socket to 128
o Fixed bug in updateValues() where by a full field width char
value would trash the active flag of the next field (i.e. NULL
termination of the string).
o Fixed param count test in Lite function calling.
o Increased Lite VM performance by up to 20% by caching stack
frames and other reuseable items.
o mSQL Server performance increases
- Removed some more malloc & bzero overhead
- Added speedup for boxes without hardware multiply (like
lots of the early SPARCs).
- The above modifications produced a 20% faster "killer"
result on a SPARC without hardware math.
o Added support for symbolic Macros in modules
o Started support for dynamic loading shared modules
16 December 1996 2.0 Beta 1
-----------------------------------
o Initial public beta release of the 2.0 code base.